<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // Object.defineProperty()  定义对象 新属性或修改原有的属性
      var obj = {
        id: 1,
        pname: "小米",
        ccc: 222,
      };
      // 以前对象的添加 修改属性的方式
      //   obj.id = 2;
      //   obj.age = 18;
      //   新方法
      Object.defineProperty(obj, "num", {
        value: 1000, //添加属性 值
      });
      console.log(obj);
      Object.defineProperty(obj, "ccc", {
        value: 666, // 修改属性的值
      });
      console.log(obj);
      Object.defineProperty(obj, "id", {
        writable: false, // 不允许修改这个属性  ture则可以修改
      });
      obj.id = 2;
      console.log(obj);
      Object.defineProperty(obj, "address", {
        value: "中国",
        writable: false, // 不允许修改这个属性  ture则可以修改
        enumerable: false, // 设置为false 则无法遍历该属性 默认false
        configurable: false, // 设置为fasle 不允许删除这个属性 默认false 不允许修改特性
      });
      delete obj.address;
      console.log(obj);
    </script>
  </body>
</html>
